A randomizer sequence is a long, non-repeating sequence of symbols or bits that combine with a code word in order to randomize the code word symbols. One reason to randomize the symbols of the code word is to eliminate repeated patterns of symbols, such as patterns of all zero symbols, that may not always be accurately demodulated. The code words of interest are error correction code words that are produced by encoding data in accordance with an error correction code (ECC) over a Galois Field GF(2m). Over GF(2m), the sequence and the code word are combined by XOR'ing.
Before decoding, the randomizer sequence is removed from the randomized code word by combining the same sequence with the code word. The ECC code word can then be decoded in a conventional manner and errors in the code word data symbols corrected, as appropriate.
Randomizer circuits for producing multiple-bit non-repeating sequences are known. One such circuit is a binary maximal length linear feedback shift register, such as an m-bit shift register that produces a random sequence up to 2m−1 bits. The bit sequence, however, is not generally long enough to combine with all of the bits of the ECC code word. Accordingly, the 2m−1 bit sequence, or pattern, must be used multiple times in the same code word, and the randomizing of the code word symbols may be adversely affected.